package advertising. analyzer

import advertising.sql.BaseKpiSQL
import org.apache.spark.sql.SparkSession

//  .--,       .--,
// ( (  \.---./  ) )
//  '.__/o   o\__.'
//     {=  ^  =}
//      >  -  <
//     /       \
//    //       \\
//   //|   .   |\\
//   "'\       /'"_.-~^`'-.
//      \  _  /--'         `
//    ___)( )(___
//   (((__) (__)))    高山仰止, 景行行止; 虽不能至, 心向往之.
//                    High mountains, scenery. Although not to, the heart yearns for it. 
object BaseKpiAnalyzer {

  /**
    * 地域点击量统计
    * @param spark Spark Session
    */
  def analyzeGeoClickedCountCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.geoClickedCount2Hive)
  }

  /**
    * 地域分布统计
    * @param spark
    * @return
    */
  def analyzeGeoTabDataCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.geoTabDataCollect2Hive)
  }

  /**
    * 运营商分布统计
    * @param spark
    */
  def analyzeOperatorTabDataCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.operatorTabDataCollect2Hive)
  }

  /**
    * 网络类型分布统计
    * @param spark
    */
  def analyzeNetworkTypeTabDataCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.networkTypeTabDataCollect2Hive)
  }

  /**
    * 设备类型分布统计
    * @param spark
    */
  def analyzeDeviceTypeTabDataCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.deviceTypeTabDataCollect2Hive)
  }

  /**
    * 系统类型分布统计
    * @param spark
    */
  def analyzeOSTypeTabDataCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.osTypeTabDataCollect2Hive)
  }

  /**
    * 应用名称分布统计
    * @param spark
    * @return
    */
  def analyzeAppNameTabDataCollectAndSave2Hive(spark:SparkSession) = {
    spark.sql(BaseKpiSQL.appNameTabDataCollect2Hive)
  }

}
